Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
After being warned about abusing emoji, GPT-5 says:
Summary
This branch introduces hot-loadable annotation UI components to the Magic Markup VS Code extension, along with supporting build tooling and a few related improvements. It operationalizes one of the key ideas from the Codetations paper: making it trivial to add new, dynamic annotation types that live outside the source document but stay synchronized with it.
What this branch does
Hot-loading annotation components
Adds a user component discovery and build pipeline to the extension:
esbuildandchokidarto compile and watch user-authored React components.<workspace>/codetations_components/, compiles components into anout/directory, and hot-loads them into the extension’s UI.userComponents) for the webview to use.Provides a minimal example component (
codetations_components/CommentComponent.tsx) showing the pattern for creating custom annotation UIs.Updates
package.jsonto include necessary dependencies (esbuild,chokidar,react,react-dom, and type packages).This enables rapid iteration on new annotation types without touching the extension’s core — a major step toward the workflow described in the Codetations paper.
Safer diff handling
AnnotationTracker.tsby guarding against undefined documents and only diffing when documents truly exist and differ. This reduces runtime errors and improves robustness.Miscellaneous improvements
Merge-prep checklist
<workspace>/codetations_components/convention in the README.esbuildandreactdependencies are locked to known-good versions and match between the extension and compiled components.TL;DR
This branch adds a hot-loadable React component system for Codetations annotation UIs and improves diff robustness — directly advancing the goal of making external annotations trivial to build, integrate, and evolve.